In recent years, a multi-core processor with a plurality of cores is the mainstream. The multi-core processor can enhance its processing performance by performing parallel processing using the cores. For the multi-core processor, the number of cores on a chip tends to be increased with the advancement of a microfabrication technique, and those with tens of cores are sold.
Patent Literature 1: Japanese Laid-open Patent Publication No. 2001-282553
Patent Literature 2: International Publication Pamphlet No. WO 2004/044745
Patent Literature 3: Japanese Laid-open Patent Publication No. 2006-24088
There are some programs for performing parallel processing that can achieve high performance by performing parallel processing in all the cores of the multi-core processor. There are also some programs that can obtain high performance by stopping part of cores. For example, there may be some cases in which higher performance can be achieved by stopping part of cores in a program with frequent synchronizations between the cores and in a program with bottleneck caused by memory bandwidth.
According to one aspect of the present invention, the parallel processing optimization program causes a computer to execute specifying numbers of cores executing processing when a predetermined number of processings to be executed in parallel is allocated to cores by the same amount by changing number of processings to be allocated within a range of numbers of cores capable of executing parallel processing. The parallel processing optimization program also causes the computer to execute determining the number of cores with highest processing performance as the number of cores executing the parallel processing from among the specified numbers of cores within the range of the numbers of cores capable of executing the parallel processing.